11 research outputs found
Generating Preconditions from Graph Constraints by Higher Order Graph Transformation
Techniques for the verification of structural invariants in graph transformation systems typically rely on the derivation of negative application conditions that are attached to graph transformation rules in order to avoid the runtime occurrence of forbidden structural patterns in the system model. In this paper, we propose a practical approach for this derivation process, which produces the required negative application conditions by applying higher order graph transformation on the rule specifications themselves. Additionally, we integrate filtering criteria into these higher order constructs to avoid already at an early stage the unnecessary construction of invalid and redundant rules with negative application conditions
Improved Conflict Detection for Graph Transformation with Attributes
In graph transformation, a conflict describes a situation where two
alternative transformations cannot be arbitrarily serialized. When enriching
graphs with attributes, existing conflict detection techniques typically report
a conflict whenever at least one of two transformations manipulates a shared
attribute. In this paper, we propose an improved, less conservative condition
for static conflict detection of graph transformation with attributes by
explicitly taking the semantics of the attribute operations into account. The
proposed technique is based on symbolic graphs, which extend the traditional
notion of graphs by logic formulas used for attribute handling. The approach is
proven complete, i.e., any potential conflict is guaranteed to be detected.Comment: In Proceedings GaM 2015, arXiv:1504.0244
Conflict Detection for Edits on Extended Feature Models using Symbolic Graph Transformation
Feature models are used to specify variability of user-configurable systems
as appearing, e.g., in software product lines. Software product lines are
supposed to be long-living and, therefore, have to continuously evolve over
time to meet ever-changing requirements. Evolution imposes changes to feature
models in terms of edit operations. Ensuring consistency of concurrent edits
requires appropriate conflict detection techniques. However, recent approaches
fail to handle crucial subtleties of extended feature models, namely
constraints mixing feature-tree patterns with first-order logic formulas over
non-Boolean feature attributes with potentially infinite value domains. In this
paper, we propose a novel conflict detection approach based on symbolic graph
transformation to facilitate concurrent edits on extended feature models. We
describe extended feature models formally with symbolic graphs and edit
operations with symbolic graph transformation rules combining graph patterns
with first-order logic formulas. The approach is implemented by combining
eMoflon with an SMT solver, and evaluated with respect to applicability.Comment: In Proceedings FMSPLE 2016, arXiv:1603.0857
Static Verification Techniques for Attributed Graph Transformations
Graph transformation with its formal foundations and its broad range of theoretical results, on the one hand, and competitive tool support, on the other hand, constitutes an effective framework for model-driven software development.
Within the last decade, the theory of algebraic graph transformations has been developed towards a comprehensive formal framework including several sophisticated results on modeling, analysing, and verifying graph transformation systems.
Prominent theoretical results are the static verification of consistency constraints as well as static conflict detection and conflict resolution techniques.
Consistency constraints provide means to declaratively define global assertions that must remain true.
Conflict detection and resolution techniques provide means to statically discover potential unintended interactions of graph transformations.
Based on the framework for algebraic graph transformations several model transformation tools were developed over the last years.
However, in order to become suitable for the practical needs in every-day software engineering, these tool oriented graph transformation approaches integrate language concepts that go beyond the simple manipulation of plain graphs.
An important concept is the treatment of data values such as integers, booleans, and strings.
The integration of primitive data attributes within the graph structure is indispensable to model almost all realistic systems, since they combine the structural aspects of a system with data aspects such as computations of values.
While in the last years, many advanced language concepts were adapted from the tool oriented approaches and integrated within the theory of algebraic graph transformations, there is currently no theoretical approach that appropriately reflects the de-facto data attribute handling approach of practical implementations.
Thus, the main body of theoretical results does not immediately apply to those implemented approaches.
As a result, current tool support for analysis and verification techniques of attributed graph transformation systems is rather limited.
This thesis attempts to close this gap.
To this end, a framework for attributed graph transformation systems is proposed.
In contrast to existing approaches, the proposed framework reflects more closely the attribute handling of current state of the art graph transformation implementations.
We show that our proposed approach preserves the fundamental theoretical results of the algebraic approach for graph transformations.
Additionally, we verify the well-known results for the static verification of consistency constraints, conflict detection, and conflict resolution by confluence analysis within our framework.
Finally, a prototypical implementation is provided to show that the theoretical concepts can be realized.
Moreover, to assess its potential for analyzing real world applications, the prototype is applied to analyze a case study from the enterprise modeling domain
Static Verification Techniques for Attributed Graph Transformations
Graph transformation with its formal foundations and its broad range of theoretical results, on the one hand, and competitive tool support, on the other hand, constitutes an effective framework for model-driven software development.
Within the last decade, the theory of algebraic graph transformations has been developed towards a comprehensive formal framework including several sophisticated results on modeling, analysing, and verifying graph transformation systems.
Prominent theoretical results are the static verification of consistency constraints as well as static conflict detection and conflict resolution techniques.
Consistency constraints provide means to declaratively define global assertions that must remain true.
Conflict detection and resolution techniques provide means to statically discover potential unintended interactions of graph transformations.
Based on the framework for algebraic graph transformations several model transformation tools were developed over the last years.
However, in order to become suitable for the practical needs in every-day software engineering, these tool oriented graph transformation approaches integrate language concepts that go beyond the simple manipulation of plain graphs.
An important concept is the treatment of data values such as integers, booleans, and strings.
The integration of primitive data attributes within the graph structure is indispensable to model almost all realistic systems, since they combine the structural aspects of a system with data aspects such as computations of values.
While in the last years, many advanced language concepts were adapted from the tool oriented approaches and integrated within the theory of algebraic graph transformations, there is currently no theoretical approach that appropriately reflects the de-facto data attribute handling approach of practical implementations.
Thus, the main body of theoretical results does not immediately apply to those implemented approaches.
As a result, current tool support for analysis and verification techniques of attributed graph transformation systems is rather limited.
This thesis attempts to close this gap.
To this end, a framework for attributed graph transformation systems is proposed.
In contrast to existing approaches, the proposed framework reflects more closely the attribute handling of current state of the art graph transformation implementations.
We show that our proposed approach preserves the fundamental theoretical results of the algebraic approach for graph transformations.
Additionally, we verify the well-known results for the static verification of consistency constraints, conflict detection, and conflict resolution by confluence analysis within our framework.
Finally, a prototypical implementation is provided to show that the theoretical concepts can be realized.
Moreover, to assess its potential for analyzing real world applications, the prototype is applied to analyze a case study from the enterprise modeling domain